﻿namespace ConsoleApp4
{
    //匿名方法
    //通常使用 delegate 关键字来声明匿名方法
    /* 这是一种允许你在代码中声明一个没有命名的委托方法的方式。
       匿名方法通常用于简化回调和事件处理等场景，使代码更加紧凑和易于理解*/
    internal class Program
    {

        delegate int Operation(int x, int y);

        static void Main(string[] args)
        {
            //使用匿名方法作为委托的参数
            Operation add = delegate (int x, int y)
            {
                return x + y;
            };

            int result = add(5, 3);
            Console.WriteLine("Result: " + result);

            Console.WriteLine("***********");


            //使用匿名方法进行筛选
            List<int> numbers = new List<int> { 10, 25, 7, 30, 15, 50 };

            List<int> filteredNumbers = numbers.FindAll(delegate (int num)
            {
                return num > 20;
            });

            foreach (int num in filteredNumbers)
            {
                Console.WriteLine(num);
            }
        }

    }

}
